#ifndef __OPENSSL_H__
#define __OPENSSL_H__

#include "common.h"
#include <openssl/ssl.h>
#include <openssl/err.h>
#include <netinet/in.h>
#include <unistd.h>

class OpenSSL 
{
public:
  OpenSSL();
  ~OpenSSL();

  static void initOpenSSL();
  static void cleanup();
  static SSL_CTX* createSSLContextServer();
  //函数用于打印 SSL 错误信息
  static void print_ssl_error(const char* prefix);


   /*绑定读写套接字*/
  static void sslSetfd(SSL* ssl, int fd);
  // 进行 SSL 握手
  static int sslAccept(SSL* ssl);
  static int sslRead(SSL* ssl, void* buff, int bufflen);
  static int sslWrite(SSL* ssl, const void* message, int messlen);
  static SSL_CTX* ctx_;

private:
};


#endif
